Pre-loading data

ABSTRACT

A device includes a non-volatile memory configured to store software to facilitate normal functions of the device, a first processing section including a data processor configured to execute the software when the device is in a normal mode, and load the software into a working memory in response to a trigger, and a second processing section coupled to a clock for maintaining a time, the second processing section configured to handle background processes when the device is in a low-power mode and initiate the trigger in response to the time of the clock preceding a user-set time by a preset advance interval, the pre-set advance interval taking into account a length of time to load the software into the working memory, wherein the working memory includes a volatile memory configured to store the software, and wherein in the low-power mode, the volatile memory receives insufficient power to store the software.

CROSS-REFERENCE TO RELATED APPLICATIONS

This is a continuation of U.S. application Ser. No. 11/664,411, filed on 2 Apr. 2007, which is the National Stage of International Application No. PCT/IB2005/002936, International Filing Date 30 Sep. 2005, which designated the United States of America, and was published under PCT Article 21 (2) as WO Publication No. WO 2006/038087, the disclosures of which are incorporated herein by reference in their entireties.

FIELD

The disclosed embodiments relate to pre-loading of data.

BACKGROUND

As mobile phones and other handheld electronic devices become increasingly sophisticated it is taking longer for them to reach an operational state after they have been turned on. Modern mobile phones can take over a minute to boot up. The reason for this is that the devices' operating systems, including the essential software that the devices require to reach an operational state, are becoming more sophisticated and require longer to load from non-volatile memory into working memory and to place the variables and other settings used by the devices during operation into an operational configuration. This is a problem because users would prefer to be able to use a device as soon as possible after they turn it on.

One solution to this problem is for users to leave a device powered on all the time, either in a fully operational mode, or in a suspended mode in which the processor is substantially disabled but the working memory is still powered. However, in the case of battery-powered devices this uses up battery power and reduces the time that the device can be used before charging. Also, some users prefer to turn their devices off entirely, so that it does not disturb them, for example by ringing if it is mobile phone.

Another solution is for the device to provide a hibernation mode in which the content of working memory is cached to non-volatile memory when the device is powered down. Then, when the device is powered up the cached data can be retrieved and the device can be returned relatively quickly to its operational state. This is useful in devices that have ample non-volatile memory, such as laptops with large hard disks. However, for other devices it would generally require a considerable increase in size and cost.

There is therefore a need for an improved method of loading the essential software needed for normal operation of a device.

In addition to being turned on by a user manually operating a switch, some devices can turn on automatically. On example of this is that some mobile phones can turn on automatically when their alarm clock function is active and an alarm time is reached and/or the alarm is acknowledged rather than snoozed by a user. To achieve this such phones have—in addition to a main processing function that is used during normal operation of the phone—a background processing function that handles background processes whilst the phone is in its “off” state. The background function uses very little power compared to the main processing function. Operations handled by the background processing function include maintenance of a real-time clock, performance of alarm clock and reminder functions (at least whilst the phone is in its “off” state and detection of external events that are to trigger the device to turn on, such as the pressing of an “on” button and connection to an external power supply.

SUMMARY

According to the presently disclosed embodiments, there is provided a battery-powered device comprising: a memory storing software essential to the provision of normal functions of the device; a first processing section comprising a data processor capable of executing the software, the device being capable of operating the first processing section in a normal mode in which it can execute the software and a low power mode; a second processing section having a clock for maintaining a time, and being capable of triggering behavior of the device in response to the time of the clock preceding a user-set time by a pre-set advance interval; the device being configured to, in response to triggering by the second processing section when the first processing section is in the low power mode, cause the first processing section to enter the normal mode and to load the software.

According to a further aspect of the disclosed embodiments, there is provided a method for operating a device comprising a memory storing software essential to the provision of normal functions of the device, a first processing section comprising a data processor capable of executing the software, the device being capable of operating the first processing section in a normal mode in which it can execute the software and a low power mode; and a second processing section having a clock for maintaining a time, and being capable of triggering behavior of the device in response to the time of the clock preceding a user-set time by a pre-set advance interval; the method comprising: in response to triggering by the second processing section when the first processing section is in the low power mode, causing the first processing section to enter the normal mode and to load the software.

The pre-set advance interval may allow the software to be loaded prior to the user-set time.

The software may at least be part of an operating system of the device.

The first processing section may comprise a data processor and a volatile memory for storing software when it has been loaded.

In the low power mode the processor may receive insufficient power to operate normally. In the low power mode the processor may use less power than in the normal mode.

In the low power mode the volatile memory may receive insufficient power to store software.

The device may be a portable device.

The device may be powered by means other than a battery, for example by mains electrical power.

The device may comprise a communication interface for downloading data and a data store for storing a list of one or more user-set data locations, and wherein the device may be configured to, in response to triggering by the second processing section, download data from the or each user-set data location via the communication interface.

The pre-set advance interval may be such as to allow the data to be downloaded prior to the user-set time.

The communication interface may be capable of receiving the data by a wireless data link thereto.

The communication interface may be capable of receiving the data by radio.

The device may be a mobile phone and the communication interface may be capable of communication with a mobile phone network for downloading the data.

The device may comprise a memory for storing the downloaded data.

The device may comprise a user interface for presenting the downloaded data to a user.

BRIEF DESCRIPTION OF THE DRAWINGS

Further aspects, details, advantages and modifications of the disclosed embodiments will become apparent from the following detailed description which is to be taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a schematic diagram of a communication terminal.

DETAILED DESCRIPTION

According to the disclosed embodiments, the communication terminal 1 is a mobile phone that offers an alarm clock facility. Whilst the phone is turned off the alarm clock facility is operated by a background function of the phone. When the alarm time set by the user is reached the background function can cause the phone to turn back on and the alarm to sound. According to the disclosed embodiments, the turning on of the phone is begun shortly before the alarm time so that there is time to load essential software of the phone (e.g. some or all of its operating system and associated variables) before the alarm time. This allows power to be saved when the device is turned off, and yet the device is fully functional at the alarm time.

The system shown in FIG. 1 will now be described in more detail.

The mobile phone 1 comprises a central processing unit 16, which controls the operation of the phone in accordance with software stored in a read only memory 13. The central processing unit is connected to a display 12 for displaying information to a user, a keypad 10 for obtaining input from a user, a loudspeaker 7 for outputting audio to be heard by the user and a microphone 8 for receiving audio from the user. The central processing unit contains random access memory (RAM) 2 that can be used for storing temporary data, as can an external RAM 3.

A background processing unit 5 can handle background processes whilst the phone is in its “off” state. The background function uses very little power compared to the main processing function 16. The background processing unit implements a real-time clock under the control of a crystal oscillator 6. The mobile phone also has a communication subsystem 11 for communicating with a mobile telephony network. The communication subsystem comprises an antenna 15 and a communication engine 14. The communication engine 20 is connected between the antenna and the processor 10. The communication engine handles conversion between baseband and radio frequency and handles signaling communications with the wireless network. At least some functional elements of the communication engine may be implemented on a common chip with one or more parts of the central processing unit.

The processor may have access to a non-volatile memory 4 for storing user settings.

The mobile phone may be powered by a battery 12.

The mobile phone may be operable in accordance with any suitable communications protocol. Examples include GSM and 3G (UMTS).

When the phone is turned on by means of the user pressing a power on key on the keyboard 10, the phone starts by loading its essential software from ROM into working memory. That process typically includes configuring operating variables for use. Once that process is completed, it can begin to provide functions to the user.

The user can configure the phone to turn on automatically, for example using an alarm clock function of the phone or by using a power saving function that automatically turns the phone off at a preset time of day and back on at another preset time. Such a power saving function would normally be set so as to turn the phone off automatically overnight. To operate either of these functions, the user uses the keypad 10 to navigate a menu structure of the phone and then enters the desired on time and, for the power saving function, an off time. The phone stores the set on and off times in non-volatile memory 4 and compares those with the value of the real-time clock maintained by the background function 5. When the value of the real time clock matches the value stored for the on time (taking into account a pre-load offset interval as described below) the phone enters a turn-on routine. If the phone has been turned on by means of the alarm clock function then it also sounds an alarm at the set time.

The turn-on routine will now be described. First, the phone powers up the components such as processor 16 and RAM 3 that may be used for normal operation. User interface devices such the display may not be powered on at that time. Then the phone loads from ROM 13 the essential software that it requires for operation. Any essential working variables are configured and the variables and the software required for subsequent operations are stored in working memory. Typically, this process will involve loading the operating system of the phone. When this load operation has been completed, the phone is ready for normal operation. This operation takes some time, and so a pre-load offset interval is stored in the phone, for example in the non-volatile memory 4 or in the background function 5, which triggers the turn-on routine. The background function 5 is configured to initiate the turn-on routine at a time of the real-time clock that precedes the pre-set on time by the pre-load offset interval. The preload offset interval is set so that there is sufficient time to load the operating system before the turn-on time is reached. The result of this procedure is that the phone is ready for use immediately, for the provision of its full normal range of functions to a user, at the turn-on time.

The user may also configure the phone to load content data before turn-on. For example, the user may want the phone to load the latest news, weather or horoscopes (including text, image, video, audio and other data) so that he can view them when the phone turns on. The data could be loaded in any suitable form, but options include loading the data from websites or from RSS (RDF site summary) feeds. To activate this function, the user uses the keypad 10 to navigate a menu structure of the phone and then enters the address(es) of the desired content data. The phone stores the addresses in non-volatile memory 4. The turn-on routine can then include the downloading of the content data from the defined addresses. This may be done after the essential software has been fully loaded, or may be done in parallel with the loading of some of the software if those parts of the software needed for downloading the content data have already been loaded. The content data can be downloaded via any suitable connection to the phone, but conveniently it can be downloaded by means of a connection to a network via the communication subsystem 11. For example, it could be downloaded by means of a circuit-switched or packet-switched connection to an internet gateway of a mobile phone network. Alternative types of connection include wireless LAN (local area network) and wired data connections. The preload offset time may take into account the time required to load the content data; thus the pre-load offset time may be set so that there is sufficient time to load the operating system and the content data before the turn-on time is reached. The user can then view the loaded data (using a suitable viewer application of the phone, for example a web browser) at the turn-on time.

In order to successfully set the pre-load offset time when the phone is to download content data during the turn-on routine, the phone may estimate the time that will be taken to download the data. It may do this based on the number of stored addresses and the type of data (if any) with which they are associated. It may also take into account how long downloads of data from those addresses have taken in the past. Similarly, the pre-load offset time allowed for loading of the essential software may be set rigidly, or may be adjusted depending on how long the loading has taken in the past. In the most basic embodiment, the offset time could be unalterably fixed at a time that is likely to be sufficient for loading the software and user data in most normal circumstances, e.g. 5 or 10 minutes.

If the turn-on routine is completed before the pre-set on time then some or all of the user interface devices (e.g. the display)may remain powered down until the on-time. This saves on battery power.

In an optional mode of operation, the phone may continue to load software and if necessary, download content data when the pre-set alarm clock on time is reached, irrespective of whether or not the user presses a button to enter a snooze mode. This provides an advantage over prior art phones in which the essential software is not loaded until the user actually cancels the alarm.

In either mode, if the alarm is not cancelled or acknowledged within a pre-set period of time (e.g. 20 minutes) from the alarm on time, then the phone is shut down and re-enters its sleep state.

If the turn-on routine is initiated, but the phone does not have sufficient power to last until the next alarm, it automatically switches to the sleep state without loading the essential software in order to preserve power. Under the control of the background processing system, it then reawakens at the alarm on time in order to sound the alarm. If the phone does not have sufficient power to last until the alarm goes off even in the off state, then the user is warned that they need to charge the phone.

The disclosed embodiments are not limited to use with mobile phones and could be used with other (e.g. battery-powered) devices. Non-limiting examples of such devices include personal digital assistants (PDAs) laptop computers, personal music players, radios etc.

The applicant hereby discloses in isolation each individual feature described herein and any combination of two or more such features, to the extent that such features or combinations are capable of being carried out based on the present specification as a whole in the light of the common general knowledge of a person skilled in the art, irrespective of whether such features or combinations of features solve any problems disclosed herein, and without limitation to the scope of the claims. The Applicant indicates that aspects of the disclosed embodiments may include any such individual feature or combination of features. In view of the foregoing description it will be evident to a person skilled in the art that various modifications may be made within the scope of the embodiments disclosed herein. 

1. A battery powered device comprising: a non-volatile memory configured to store software to facilitate normal functions of the device; a first processing section comprising a data processor configured to execute the software when the device is in a normal mode, and load the software into a working memory in response to a trigger; and a second processing section coupled to a clock for maintaining a time, the second processing section configured to handle background processes when the device is in a low-power mode and initiate the trigger in response to the time of the clock preceding a user-set time by a preset advance interval, the pre-set advance interval taking into account a length of time to load the software into the working memory, wherein the working memory comprises a volatile memory configured to store the software, and wherein in the low-power mode the volatile memory receives insufficient power to store the software.
 2. The device of claim 1, wherein the preset advance interval is such as to enable the software to be loaded prior to the user-set time.
 3. The device of claim 1, wherein the software is at least part of an operating system of the device.
 4. The device of claim 1, wherein in the low-power mode the first processing section receives insufficient power to operate normally.
 5. The device of claim 1, wherein the device is a portable device.
 6. The device of claim 1, comprising a communication subsystem configured to communicate with a network.
 7. The device of claim 6, wherein the communication subsystem comprises a communication interface configured to download external content data and a data store configured to store a list of the one or more user-set addresses, and wherein the device is configured to, in response to triggering by the second processing section, download the external content data from the one or more user-set data addresses via the communication interface.
 8. The device of claim 7, wherein the preset advance interval enables the external content data to be downloaded prior to the user-set time.
 9. The device of claim 7, wherein the communication interface is configured to receive the data by a wireless data link thereto.
 10. The device of claim 9, wherein the communication interface is configured to receive the data by radio.
 11. The device of claim 10, wherein the device is a mobile phone and the communication interface is configured to communicate with a mobile phone network for downloading the data.
 12. The device of claim 7, comprising a memory for storing the downloaded data.
 13. The device of claim 1, comprising a user interface for presenting the downloaded data to a user.
 14. A method to operate a device comprising a non-volatile memory configured to store software to facilitate normal functions of the device, a first processing section comprising a data processor configured to execute the software, the device being configured to operate the first processing section in a normal mode in which it can execute the software and a low-power mode, wherein the device comprises a volatile memory configured to store the software when it has been loaded and wherein in the low-power mode the volatile memory receives insufficient power to store software; and a second processing section having a clock for maintaining a time, and being configured to trigger behavior of the device in response to the time of the clock preceding a user-set time by a pre-set advance interval, the pre-set advance interval taking into account a length of time to load the software into the volatile memory; the method comprising: in response to triggering by the second processing section when the first processing section is in the low-power mode, directing the first processing section to load the software into the volatile memory before entering the normal mode.
 15. A method comprising: using a non-volatile memory of a device to store software to facilitate normal functions of the device; executing the software when the device is in a normal mode, and loading the software into a working memory in response to a trigger; processing background processes when the device is in a low-power mode; and initiating the trigger in response to a time of a clock preceding a user-set time by a pre-set advance interval, the pre-set advance interval taking into account a length of time to load the software into the working memory, wherein the working memory comprises a volatile memory configured to store the software, and wherein in the low-power mode the volatile memory receives insufficient power to store the software.
 16. The method according to claim 15, comprising setting the pre-set advance interval to enable the software to be loaded prior to the user-set time.
 17. The method of claim 15, wherein the processing of background processes occurs while a data processor performing the processing receives insufficient power for normal operation.
 18. The method of claim 15, comprising downloading external content data using a communication subsystem of the device.
 19. The method of claim 18, wherein downloading the external content data comprises downloading the external content data from one or more user-set addresses in response to the trigger.
 20. The method as recited in claim 19, comprising setting the pre-set advance interval to enable the external content data to be downloaded prior to the user-set time. 